package aufgabe1;

public class ListenElement<T> implements InterfaceListenElement<T> {

    T object;
    ListenElement<T> nextElement;

	/**
	 * Konstruktor
	 *
	 * @param object Das erste Objekt der Liste.
	*/
    public ListenElement(T object) {
        this.object = object;
        nextElement = null;
    }

	/**
	 * Das nachfolge Element der Liste wird gesetzt.
	 *
	 * @param nextElement Der Nachfolger von dem aktuellen Element.
	*/
    @Override
    public void setNextElement(ListenElement<T> nextElement) {
        this.nextElement = nextElement;
    }

	/**
	 * Der Nachfolger von dem aktuellen Element.
	 *
	 * @return ListenElement<T> Das Nachfolgende Element in der Liste.
	*/
    @Override
    public ListenElement<T> getNextElement() {
        return nextElement;
    }

	/**
	 * Hat die Liste noch ein weiteres Element?
	 *
	 * @return true, falls ein weiteres Element vorhanden ist.
	*/
    public boolean hasNext() {
        return getNextElement() != null;
    }

	/**
	 * Liefert den Inhalt des Listenelementes.
	 * 
	 * @return T Das Objekt des Listenelementes.
	*/	
    @Override
    public T getObject() {
        return object;
    }




	
	
    
    
}
